package cn.kgc.springcloud.service.impl;

import cn.kgc.springcloud.client.TagClient;
import cn.kgc.springcloud.dao.ClazzDao;
import cn.kgc.springcloud.entity.Clazz;
import cn.kgc.springcloud.entity.Tag;
import cn.kgc.springcloud.service.ClazzService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class ClazzServiceImpl implements ClazzService {
    @Autowired
    private ClazzDao clazzDao;
    @Autowired
    private TagClient tagClient;
    @Override
    public List<Clazz> queryAll() {
        List<Clazz> clazzes = clazzDao.queryAll();
        //遍历集合 获取班级标签id 调用标签微服务 将id传入 查询id对应的标签对象
        clazzes.forEach(clazz -> {
            String tagId = clazz.getTagId();
            Tag tag = tagClient.getOne(Integer.parseInt(tagId));
            clazz.setTag(tag);
        });
        return clazzes;
    }

    @Override
    public Clazz addClazz(Clazz clazz) {
        clazzDao.addClazz(clazz);
        return clazz;
    }

    @Override
    public void delClazz(Integer id) {
        clazzDao.delClazz(id);
    }

    @Override
    public Clazz getOne(Integer id) {
        return clazzDao.selectOne(id);
    }

}
